package com.mixsmart.core.dao;

import java.util.ArrayList;
import java.util.HashMap;

import com.mixsmart.core.bean.entity.IEntityBean;

/**
 * 更新 DAO接口
 * @author lmq
 * @version 1.0
 * @since JDK版本大于等于1.6
 * 2015年12月21日
 */
public interface IUpdateDao {

	/**
	 * 更新
	 * @param bean 实体对象
	 * @return 成功返回：true；否则返回：false
	 * @
	 */
	public boolean updateObj(IEntityBean bean) ;
	
	/**
	 * 批量更新
	 * @param beans 实体对象集合
	 * @return 成功返回：true；否则返回：false
	 * @
	 */
	public boolean updateObj(ArrayList<? extends IEntityBean> beans) ;
	
	/**
	 * 根据SQL语句更新数据
	 * @param sql SQL语句
	 * @param params 参数
	 * @return 成功返回：true；否则返回：false
	 * @
	 */
	public boolean updateSql(String sql, HashMap<String, Object> params) ;
	
	/**
	 * SQL语句按参数过滤后更新数据
	 * @param sql SQL语句
	 * @param params 参数
	 * @return 成功返回：true；否则返回：false
	 * @
	 */
	public boolean updateSqlFilter(String sql, HashMap<String, Object> params) ;
	
	/**
	 * 根据HQL语句更新数据
	 * @param hql HQL语句
	 * @param params 参数
	 * @return 成功返回：true；否则返回：false
	 * @
	 */
	public boolean updateHql(String hql,HashMap<String, Object> params) ;
	
	/**
	 * HQL语句根据参数过滤后，更新数据
	 * @param hql HQL语句
	 * @param params 参数
	 * @return 成功返回：true；否则返回：false
	 */
	public boolean updateHqlFilter(String hql,HashMap<String, Object> params) ;
	
}
